home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / easyblt / bltsysmo.bas < prev    next >
BASIC Source File  |  1999-04-24  |  2KB  |  64 lines

  1. Attribute VB_Name = "BltSysMod"
  2. Public Type SysClpBrd
  3. DC As Long
  4. BMP As Long
  5. Empty As Boolean
  6. Width As Integer
  7. Height As Integer
  8. End Type
  9. Public OldBMP As Long
  10. Public ClpBoard As SysClpBrd
  11.  
  12. Public Sub CreateClpBrd(Hwnd As Long)
  13. ClpBoard.DC = CreateCompatibleDC(GetDC(Hwnd))
  14. ClpBoard.BMP = CreateCompatibleBitmap(GetDC(Hwnd), 800, 600)
  15. ClpBoard.Empty = True
  16. End Sub
  17.  
  18. Public Function CopyPicture(DC As Long, X As Integer, y As Integer, H As Integer, W As Integer) As Boolean
  19. OldBMP = SelectObject(ClpBoard.DC, ClpBoard.BMP)
  20. ret1% = BitBlt(ClpBoard.DC, X, y, W, H, DC, X, y, SRCCOPY)
  21. ret& = SelectObject(ClpBoard.DC, OldBMP)
  22. ClpBoard.Empty = False
  23. ClpBoard.Height = H
  24. ClpBoard.Width = W
  25. CopyPicture = ret1%
  26. End Function
  27.  
  28. Public Function PastePicture(DC As Long, X As Integer, y As Integer) As Boolean
  29. If ClpBoard.Empty = True Then
  30. PastePicture = False
  31. Exit Function
  32. End If
  33. OldBMP = SelectObject(ClpBoard.DC, ClpBoard.BMP)
  34. ret1% = BitBlt(DC, X, y, ClpBoard.Width, ClpBoard.Height, ClpBoard.DC, X, y, SRCCOPY)
  35. ret& = SelectObject(ClpBoard.DC, OldBMP)
  36. PastePicture = ret1%
  37. End Function
  38.  
  39. Public Sub ClearClpBoard()
  40. ret% = DeleteObject(ClpBoard.BMP)
  41. ClpBoard.BMP = CreateCompatibleBitmap(0&, 800, 600)
  42. ClpBoard.Empty = True
  43. End Sub
  44.  
  45. Public Sub DestroyClpBrd()
  46. ret% = DeleteDC(ClpBoard.DC)
  47. ret% = DeleteObject(ClpBoard.BMP)
  48. End Sub
  49.  
  50.  
  51. Public Sub DirectBltCopy(SrcDC As Long, srcBMP As Long, tarDC As Long, tarBMP As Long, W As Integer, H As Integer)
  52. OldBMP = SelectObject(SrcDC, srcBMP)
  53. ret% = BitBlt(tarDC, 0, 0, W, H, SrcDC, 0, 0, SRCCOPY)
  54. OldBMP = SelectObject(SrcDC, OldBMP)
  55. End Sub
  56.  
  57. Public Sub DirectStretchCopy(SrcDC As Long, srcBMP As Long, tarDC As Long, tarBMP As Long, OW As Integer, OH As Integer, W As Integer, H As Integer)
  58. OldBMP = SelectObject(SrcDC, srcBMP)
  59. ret% = StretchBlt(tarDC, 0, 0, W, H, SrcDC, 0, 0, OW, OH, SRCCOPY)
  60. OldBMP = SelectObject(SrcDC, OldBMP)
  61. End Sub
  62.  
  63.  
  64.